/* 
 * File:   auxiliares-grasp.h
 * Author: emi
 *
 * Created on 28 de enero de 2014, 06:29 PM
 */

#ifndef AUXILIARES_GRASP_H
#define	AUXILIARES_GRASP_H


#include <queue>

#define INF = -1;


struct par {
    int x;
    int y;
};

int tam_aux(int** A);
int pathIguales(int*, int*);
int* unirPath(int*, int*);
float costo(const int*);
vector<float>* dijkstra(Graph* g, int nodo, int final = 0);




class mycomparison
{
  bool reverse;
public:
  mycomparison(const bool& revparam=false)
    {reverse=revparam;}
  bool operator() ( int* &lhs,  int* &rhs) const
  {
    if (reverse) return (costo(lhs)>costo(rhs));
    else return (costo(lhs)<costo(rhs));
  }
};
#endif	/* AUXILIARES_GRASP_H */

